Telegram Group Search
🤓 Самоучитель Python: как работать с регулярными выражениями

Разбираемся с модулем re, учимся создавать и использовать регулярные выражения, включая продвинутые проверки.

➡️ Полный материал по ссылке: регулярные выражения

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔁 Как перевернуть последовательность в Python: срезы, .reverse() и reversed()

Иногда нужно пройтись по списку в обратном порядке. Python предлагает как минимум три способа сделать это. Разберём, чем они отличаются и когда что использовать.

1️⃣ Срез с шагом -1

Срезы в Python поддерживают формат [start:stop:step]. Если шаг отрицательный, список читается справа налево:
colors = ["purple", "blue", "green", "pink", "red"]
print(colors[::-1])
# ['red', 'pink', 'green', 'blue', 'purple']


Можно использовать это прямо в цикле:
for color in colors[::-1]:
print("I like", color)


Но есть нюанс: этот трюк работает только с последовательностями, то есть объектами, у которых есть индексация (списки, строки, кортежи).

2️⃣ Метод .reverse()

Метод .reverse() переворачивает список на месте, изменяя оригинальный объект:
colors = ["purple", "blue", "green", "pink", "red"]
colors.reverse()
print(colors)
# ['red', 'pink', 'green', 'blue', 'purple']


Важно:
— Метод не возвращает новый список, а изменяет оригинал.
— Работает только с типом list. Строки, кортежи и другие объекты не поддерживают .reverse().

3️⃣ Функция reversed()

Наиболее универсальный и «питоничный» способ — использовать встроенную функцию reversed():
colors = ["purple", "blue", "green", "pink", "red"]
for color in reversed(colors):
print("I like", color)


Плюсы reversed():
— Работает на любых обратимых итерируемых объектах, не только на списках.
— Не копирует список — возвращает итератор, который идёт с конца.
— Оригинальный объект не изменяется.

Можно использовать next() для получения элементов по одному:
r = reversed(colors)
next(r) # 'red'
next(r) # 'pink'


Даже со словарями

Словари в Python 3.7+ сохраняют порядок добавления. Значит, их можно тоже «перевернуть»:
capitals = {
"New South Wales": "Sydney",
"Victoria": "Melbourne",
"Western Australia": "Perth",
}

for state, capital in reversed(capitals.items()):
print(f"The capital of {state} is {capital}")


Как reversed() похож на другие помощники циклов:
enumerate() — добавляет индексацию
zip() — объединяет несколько последовательностей
reversed() — переворачивает порядок обхода

for i, color in enumerate(colors, 1):
print(f"{i}. {color}")


Что нельзя «перевернуть»

Не все объекты в Python можно перевернуть. Например, файлы и генераторы не поддерживают reversed(), потому что у них нет фиксированной длины и индексов.

Вывод

• Если нужно просто получить копию списка в обратном порядке — используйте colors[::-1].
• Если хотите перевернуть список на месте — метод .reverse().
• Если важно не трогать оригинал, сэкономить память и работать с любыми итерируемыми объектами — используйте reversed().


💬 Поделитесь в комментариях, каким способом чаще пользуетесь вы.
🔁 Репостните коллеге, который до сих пор пишет for i in range(len(...)).

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
😎 Пока все говорят об AI — мы учим строить системы, которые работают за вас

Что отличает топового дата-сайентиста от новичка? Умение не просто обучать модели, а создавать системы, которые принимают решения автономно. AI-агенты — это следующий уровень в DS, и мы запускаем курс по их разработке!

⚡️Если вы давно думали о прокачке скиллов или повышении грейда — сейчас самое время, потому что цена на курс вырастет уже 14 июня.

Спикер нашего нового курса — Никита Зелинский, Chief Data Scientist МТС. Его посты в канале @datarascals бьют в актуальные проблемы дата-спецов:

— Как за неделю окупить годовую зарплату одним COALESCE и получить свой quick win
— Разбор катастрофы с Precision@K или почему ваши метрики врут
— Комплексный гайд по антифроду

Поэтому на курсе «AI-агенты для DS» мы научим вас строить системы, которые не просто работают в демо, а выдерживают нагрузку реального бизнеса.

До повышения цены осталось 3 дня — забронируйте место сейчас
👉 Промт дня: профилируем Python-код и ускоряем вычисления

Работает, но медленно? У вас есть скрипт или функция, и вы хотите понять, где узкие места.

Попросите ChatGPT:
Вот мой Python-код.

Проанализируй и предложи:

– Где происходят самые затратные вычисления (CPU / память)
– Как переписать медленные части: циклы → векторизацию (NumPy / pandas), генераторы и lazy loading
– Как использовать multiprocessing или asyncio, если подходит
– Какие библиотеки (например, numba, joblib, polars, dask) можно подключить
– Как минимизировать работу с диском / сетью
– Как встроить cProfile, line_profiler, memory_profiler и интерпретировать отчёты


Хорошо работает на дата-скриптах, ETL, API, парсерах, ML-пайплайнах.

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🌧️ Облачная терапия: время выговориться!

Знакомая ситуация? Покупаете облако как BMW, а получаете телегу с квадратными колесами. Обещают 99.9% uptime, а сервер падает на релизе. Техподдержка отвечает через сутки фразой «попробуйте перезагрузить».

Пора узнать, как обстоят дела с облаками на самом деле. Поэтому мы собираем ваши реальные истории про облачные сервисы.

🤫О чем спросим:
— Зачем вам вообще это облако нужно
— Какие косяки достали до печенок
— Сколько денег утекает в никуда ежемесячно
— Что должно случиться, чтобы вы сменили провайдера
— И еще пару каверзных вопросов

⏱️ 2 минуты честности = большое исследование без воды → https://clc.to/nboYDA
🧹 Skylos — ваш новый помощник в борьбе с мёртвым кодом

Когда проект разрастается, в нём неизбежно накапливается мёртвый код: неиспользуемые функции, классы, импорты…

Skylos помогает навести порядок.

Что умеет:

— Находит неиспользуемые функции и методы
— Определяет классы, которые нигде не используются
— Показывает импорты, которые можно удалить
— Работает по всей кодовой базе, даже кросс-модульно
— Быстрее и точнее, чем Vulture, Flake8, Pylint и Ruff
— Можно использовать в интерактивном режиме или экспортировать в JSON

Skylos показал лучшие результаты по качеству детекции:
Precision: 64.7% | Recall: 75.8% | F1 Score: 69.8%
Время анализа: 0.013 сек


Для сравнения:
— Vulture: F1 = 36.6%
— Flake8 и Ruff: \~24%
— Pylint: 0% (да, серьёзно)

Быстрый старт:
pip install skylos
skylos /путь/к/проекту


Полезные флаги:
--interactive — интерактивный выбор кода на удаление
--dry-run — «что будет удалено», без фактического удаления
--json — отчёт в JSON

Skylos написан на Python и распространяется по лицензии Apache 2.0. Всё работает локально, без отправки кода куда-либо.

📂 GitHub: https://clc.to/y7p3ZQ
📥 pip: pip install skylos

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🕵️‍♂️🔐 10 хакерских Python-скриптов

Хочешь научиться создавать скрипты, которые умеют самоуничтожаться, незаметно делать скриншоты, записывать нажатия клавиш и обходить антивирусы?

В нашем новом материале мы раскрываем топовые техники этичного хакинга на Python — от мутации кода до выполнения скриптов прямо в памяти.

💡 На карточках — 5 ключевых примеров с кодом для быстрого старта.

📖 Остальные скрипты и подробности — в полном материале по ссылке: https://proglib.io/sh/Eu3Dm2GYbh

Библиотека питониста #буст
2025/06/14 02:05:50
Back to Top
HTML Embed Code: